home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / comm / misc / CapiRexxVoiceM.lha / os.alt.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-08  |  2.5 KB  |  105 lines

  1. #ifndef OS_H
  2. #define OS_H
  3. /*
  4. **
  5. **    $Id: os.h,v 1.876 1996/08/13 03:11:08 chris Exp $
  6. **    $Revision: 1.876 $
  7. **
  8. **    $Filename: include/os.h $
  9. **    $Author: chris $
  10. **    $Date: 1996/08/13 03:11:08 $
  11. **    $Portability: AMIGADOS $
  12. **
  13. **    Bindet die entsprechende OS-abhängige Headerdatei ein. Diese Datei
  14. **    MUSS von ALLEN Modulen als erstes eingebunden werden, noch vor
  15. **    etwaigen #ifdefs.
  16. **
  17. **    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF RELOG AG.
  18. **
  19. **    COPYRIGHT (C) 1992-1996 BY RELOG AG, ZUERICH. ALL RIGHTS RESERVED.
  20. **    NO PART OF THIS SOFTWARE MAY BE COPIED, REPRODUCED, OR TRANSMITTED
  21. **    IN ANY FORM OR BY ANY MEANS,  WITHOUT THE PRIOR WRITTEN PERMISSION
  22. **    OF RELOG AG.
  23. **
  24. */
  25.  
  26. #include <exec/types.h>
  27. #include <proto/exec.h>
  28.  
  29. #include <stdlib.h>
  30. #include <stdarg.h>
  31. #include <string.h>
  32.  
  33.  
  34. /*
  35. **    Datentypen
  36. */
  37.  
  38. #ifndef FAR
  39. #define FAR                                /* Far-Attribut */
  40. #endif
  41.  
  42. /*    Aus exec/types.h:
  43. typedef void                VOID;
  44. typedef unsigned short        BOOL;
  45.  define TRUE                1
  46.  define FALSE                0
  47. */
  48.  
  49. typedef signed char            S8;            /*  8 bit mit Vorzeichen */
  50. typedef unsigned char        U8;            /*  8 bit ohne Vorzeichen */
  51. typedef signed short        S16;        /* 16 bit mit Vorzeichen */
  52. typedef unsigned short        U16;        /*  8 bit ohne Vorzeichen */
  53. typedef signed long            S32;        /* 32 bit mit Vorzeichen */
  54. typedef unsigned long        U32;        /* 32 bit ohne Vorzeichen */
  55.  
  56. typedef unsigned char         *LPBYTE;    /* Pointer to application memory */
  57. typedef VOID                *LPVOID;    /* Far pointer to void */
  58.  
  59. typedef VOID                (*CSS_CALLBACK)( U16, U32 );
  60.  
  61.  
  62. #ifndef NULL
  63. #define NULL            ((VOID *)0L)
  64. #endif
  65.  
  66.  
  67. #ifndef GET_U16
  68. #define GET_U16(a)        (*(U16 *)(a))
  69. #endif
  70.  
  71.  
  72. /****************************************************************************
  73. **    Lists and nodes
  74. */
  75.  
  76. typedef struct _Node
  77. {
  78.     struct _Node    *Succ;
  79.     struct _Node    *Pred;
  80. } IC_NODE;
  81.  
  82.  
  83. typedef struct
  84. {
  85.     IC_NODE    *Head;
  86.     IC_NODE    *Tail;
  87.     IC_NODE    *TailPred;
  88. } IC_LIST;
  89.  
  90. #define NEW_LIST(l) IC_LIST l = { (VOID *)&l.Tail, NULL, (VOID *)&l.Head }
  91.  
  92. #define DOLIST(list, node) \
  93.     for (node=(VOID *)(list)->Head; ((IC_NODE *)(node))->Succ; \
  94.     (node) = (VOID *)(((IC_NODE *)(node))->Succ))
  95.  
  96. #define ISLISTEMPTY(l)    (((l)->TailPred) == (IC_NODE *)(l))
  97. #define NEWLIST(l)        {(l)->Head = (IC_NODE *)&(l)->Tail; (l)->Tail = NULL; (l)->TailPred = (IC_NODE *)&(l)->Head; }
  98. #define ADDHEAD(l,n)    {IC_NODE *_s=(l)->Head; (l)->Head=(n); (n)->Succ=_s; (n)->Pred=(IC_NODE *)&(l)->Head; _s->Pred=(n);}
  99. #define ADDTAIL(l,n)    {IC_NODE *_p=(l)->TailPred; (l)->TailPred=(n); (n)->Succ=(IC_NODE *)&(l)->Tail; (n)->Pred=_p; _p->Succ=(n);}
  100. #define REMOVE(n)        {IC_NODE *_s=(n)->Succ, *_p=(n)->Pred; _p->Succ=_s; _s->Pred=_p;}
  101.  
  102.  
  103. #endif    /* OS_H */
  104.  
  105.